A. Field of Invention
This invention relates to new and improved signal processing methods and apparatus and in particular to apparatus for indirectly addressing registers.
Apparatus embodying the invention, for example, may be employed to control the transfer of data and control information between two or more digital devices. One of these devices, for example, may be a general purpose computer and the other devices may be data display devices, such as cathode ray tube (CRT) displays, printers, and data entry or storage devices such as keyboard stations, tape stations and the like. In a typical application, a keyboard operator may wish to enter data into the computer and to view such data on a CRT display for editing prior to transfer to the computer. Alternatively, the keyboard operator may wish to display data which is already recorded (e.g., on a magnetic tape or in the computer memory) so as to edit and/or modify such data.
B. Prior Art
The control of most of the data transfers such as the ones required in the foregoing examples has in the past been performed by digital controllers. Thus, in a system configuration including a computer, CRT display and a key-board, a digital controller is specifically designed to interface the keyboard and the CRT display and to interface both with the computer. The controller provides the proper electrical and logical interface between all three devices as well as providing the detailed control of the CRT display and keyboard so as to leave the computer free for other tasks. However, such a controller is a special purpose device which is specifically designed to handle data transfers only between the keyboard, CRT display and computer. A major disadvantage to this "hardwired" approach is the initial design cost as well as the difficulty of modifying the design to meet future application requirements.
It has been proposed to employ a more general purpose design for digital controllers. For instance, at pages 77--91 of the "Proceedings --Fall Joint Computer Conference.", 1965, a microprogrammable controller design is described. This controller design employs a microprogram which is stored in a control memory and which contains the routines necessary to perform the control functions of transferring data from one device to another in a particular system configuration. To adapt the controller for another system configuration, the microprogram is merely changed. This controller, however, employs rather large instruction word sizes (54 bits) requiring a relatively high component count (instruction register and decoder) and a large number of connecting leads. Adding to both the component count and connecting lead number is the parallel nature of the register buses and the arithmetic and logic circuits. One result is a relatively expensive controller which does not meet the needs of growing numbers of small users who cannot afford high cost terminal devices. In addition, the high component count and large numbers of buss leads and memory read out leads are incompatible with the custom design of integrated circuitry.